<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:sijyp="http://java.sun.com/jsf/composite/sijyp"
	xmlns:a="http://xmlns.jcp.org/jsf/passthrough"
	template="#{bienManager.vincularHechoMode ? '/templates/simpleTemplate.xhtml' : '/templates/template.xhtml'}">
	<ui:define name="body">
		<h:form id="frm">
			<ui:remove>
				<rich:messages />
			</ui:remove>
			<f:event type="javax.faces.event.PreRenderComponentEvent"
				listener="#{programacionSolicitud.viewHandler}" />
			<rich:panel id="filtro_seleccion_apta"
				disabled="#{programacionSolicitud.programacion.apta!=null}">
				<f:facet name="header">
					<h:outputLabel value="Detalle Programación" />
				</f:facet>
				<h:panelGrid columns="1">

					<h:outputLabel id="dil_apta_programar_lbl"
						value="Diligencia Apta para Programar" />
					<h:selectOneRadio id="selectApto"
						value="#{programacionSolicitud.programacion.apta}"
						disabled="#{programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}">
						<f:selectItem id="si" itemLabel="Si" itemValue="S" />
						<f:selectItem id="no" itemLabel="No" itemValue="N" />
						<a4j:ajax limitRender="true" render="second" execute="@this" />
					</h:selectOneRadio>
				</h:panelGrid>
			</rich:panel>

			<a4j:outputPanel id="second" layout="block">
				<rich:panel id="holder"
					rendered="#{programacionSolicitud.programacion.apta != null}">
					<rich:panel id="si_apta_Panel"
						rendered="#{programacionSolicitud.programacion.apta eq 'S'}">
						<a4j:outputPanel id="pn_formsi" layout="block">
							<a4j:region id="rg_formsi">

								<h:panelGrid columns="2">
									<h:selectBooleanCheckbox id="chck_prog_prioritaria"
										value="#{programacionSolicitud.programacion.prioritario}"
										disabled="#{programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}" />
									<h:outputLabel value="Caso Prioritario" />
								</h:panelGrid>
								<br />
								<h:outputText id="fecha_dil_lbl" value="Fecha Diligencia" />

								<h:panelGrid columns="3" columnClasses="col33,col33,col33"
									width="100%">

									<h:panelGrid>
										<h:outputLabel id="fecha_dil_desde" value="Desde:*" />
										<rich:calendar id="desdeFecha"
											value="#{programacionSolicitud.programacion.fechaDesde}"
											required="true"
											requiredMessage="Fecha desde: #{msgVal['constraint.not_null']}"
											validator="#{programacionSolicitud.validarFechaIngresada}"
											disabled="#{programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}" 
											enableManualInput="true" datePattern="dd/MM/yyyy"/>
											<rich:placeholder value="dd/mm/yyyy" />
										<rich:message for="desdeFecha" />
									</h:panelGrid>

									<h:panelGrid>
										<h:outputLabel id="fecha_dil_hasta" value="Hasta:*" />
										<rich:calendar id="hastaFecha"
											value="#{programacionSolicitud.programacion.fechaHasta}"
											required="true"
											requiredMessage="Fecha hasta: #{msgVal['constraint.not_null']}"
											validator="#{programacionSolicitud.validarFechaIngresada}"
											disabled="#{programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}" 
											enableManualInput="true" datePattern="dd/MM/yyyy"/>
											<rich:placeholder value="dd/mm/aaaa" />
										<rich:message for="hastaFecha" />
									</h:panelGrid>

									<h:panelGrid>
										<h:outputLabel id="nro_despacho_lbl"
											value="#{msgExh['exhumaciones.catalogo.despacho']}*:" />
										<h:selectOneMenu id="selectNoDespacho"
											value="#{programacionSolicitud.programacion.despacho}"
											required="true"
											requiredMessage="Despacho: #{msgVal['constraint.not_null']}"
											
											disabled="#{programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}">
											<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
												noSelectionOption="true" />
											<f:selectItems
												value="#{programacionSolicitud.selectItemsHelper.despachos}" />
										</h:selectOneMenu>
										<rich:message for="selectNoDespacho" />
									</h:panelGrid>
								</h:panelGrid>
								<br />
								#{msgExh['exhumaciones.diligencias.programacion.datos_laboratorio']}
								<hr width="100%" />

								<h:panelGrid columns="3" columnClasses="col33,col33,col33"
									width="100%">

									<h:panelGrid>
										<h:outputLabel id="prog_dil_pais_lbl"
											value="#{msgExh['exhumaciones.catalogo.pais']}:" />
										<h:selectOneMenu id="pais"
											value="#{programacionSolicitud.programacion.ubicacion.idPais}"
											requiredMessage="País: #{msgVal['constraint.not_null']}"
											disabled="true"
											valueChangeListener="#{programacionSolicitud.ubicacionFiltradoListener.paisValueChange}">
											<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
												noSelectionOption="true" />
											<f:selectItems
												value="#{programacionSolicitud.selectItemsHelper.paises}" />
											<f:ajax event="change" render="departamento" execute="@this" />
										</h:selectOneMenu>
										<rich:message for="pais" showSummary="true" showDetail="false"
											styleClass="validationErrorMessage" />
									</h:panelGrid>

									<h:panelGrid>
										<h:outputLabel id="prog_dil_depto_lbl"
											value="#{msgExh['exhumaciones.catalogo.departamento']}:" />
										<h:selectOneMenu id="departamento"
											disabled="#{programacionSolicitud.disabled['departamento'] or programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}"
											requiredMessage="Departamento: #{msgVal['constraint.not_null']}"
											value="#{programacionSolicitud.programacion.ubicacion.idDepartamento}"
											valueChangeListener="#{programacionSolicitud.ubicacionFiltradoListener.departamentoValueChange_lab}">
											<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
												noSelectionOption="true" />
											<f:ajax event="change" render="municipio" execute="@this" />
										</h:selectOneMenu>
										<rich:message for="departamento" showSummary="true"
											showDetail="false" styleClass="validationErrorMessage" />
									</h:panelGrid>

									<h:panelGrid>
										<h:outputLabel id="prog_dil_municipio_lbl"
											value="#{msgExh['exhumaciones.catalogo.municipio']}:" />
										<h:selectOneMenu id="municipio"
											disabled="#{programacionSolicitud.disabled['municipio'] or programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}"
											requiredMessage="Municipio: #{msgVal['constraint.not_null']}"
											value="#{programacionSolicitud.programacion.ubicacion.idMunicipio}"
											valueChangeListener="#{programacionSolicitud.municipioValueChange}">
											<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
												noSelectionOption="true" />
											<f:ajax event="change" render="selectLabAnalisis"
												execute="@this" />
										</h:selectOneMenu>
										<rich:message for="municipio" showSummary="true"
											showDetail="false" styleClass="validationErrorMessage" />
									</h:panelGrid>


									<h:panelGrid>
										<h:outputLabel id="prog_dil_laboratorio_lbl"
											value="#{msgExh['exhumaciones.programacion.laboratorio']}:" />
										<h:selectOneMenu id="selectLabAnalisis"
											value="#{programacionSolicitud.programacion.idLaboratorio}"
											disabled="#{programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}">
											<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
												noSelectionOption="true" />
										</h:selectOneMenu>
										<rich:message for="selectLabAnalisis" />
									</h:panelGrid>

								</h:panelGrid>
							</a4j:region>
						</a4j:outputPanel>


						<br />
						<br />
						<h:outputText value="Grupo de Criminalistica" />
						<hr width="100%" />


						<a4j:outputPanel id="grupoCriminalisticaSV" layout="block">
							<h:panelGrid columns="3" columnClasses="col33,col33,col33"
								width="100%">

								<h:panelGrid>
									<h:outputLabel id="gt_pais_lbl"
										value="#{msgExh['exhumaciones.catalogo.pais']}*:" />
									<h:selectOneMenu id="pais_gt"
										value="#{programacionSolicitud.grupoCriminalistica.ubicacionGt.idPais}"
										requiredMessage="País: #{msgVal['constraint.not_null']}"
										disabled="true"
										valueChangeListener="#{programacionSolicitud.ubicacionFiltradoListenerGt.paisValueChange}">
										<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
											noSelectionOption="true" />
										<f:selectItems
											value="#{programacionSolicitud.selectItemsHelper.paises}" />
										<f:ajax event="change" render="departamento_gt"
											execute="@this" />
									</h:selectOneMenu>
									<rich:message for="pais_gt" showSummary="true"
										showDetail="false" styleClass="validationErrorMessage" />
								</h:panelGrid>

								<h:panelGrid>
									<h:outputLabel id="gt_depto_lbl"
										value="#{msgExh['exhumaciones.catalogo.departamento']}*:" />
									<h:selectOneMenu id="departamento_gt" required="true"
										disabled="#{programacionSolicitud.estadoGrupo=='VER' or programacionSolicitud.disabledGt['departamento_gt'] or programacionSolicitud.estado == 'VER'}"
										requiredMessage="Departamento: #{msgVal['constraint.not_null']}"
										value="#{programacionSolicitud.grupoCriminalistica.ubicacionGt.idDepartamento}"
										valueChangeListener="#{programacionSolicitud.ubicacionFiltradoListenerGt.departamentoValueChange}">
										<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
											noSelectionOption="true" />
										<f:ajax event="change" render="municipio_gt" execute="@this" />
									</h:selectOneMenu>
									<rich:message for="departamento_gt" showSummary="true"
										showDetail="false" styleClass="validationErrorMessage" />
								</h:panelGrid>

								<h:panelGrid>
									<h:outputLabel id="municipio_gt_lbl"
										value="#{msgExh['exhumaciones.catalogo.municipio']}*:" />
									<h:selectOneMenu id="municipio_gt" required="true"
										disabled="#{programacionSolicitud.estadoGrupo=='VER' or programacionSolicitud.disabledGt['municipio_gt'] or programacionSolicitud.estado == 'VER'}"
										requiredMessage="Municipio: #{msgVal['constraint.not_null']}"
										value="#{programacionSolicitud.grupoCriminalistica.ubicacionGt.idMunicipio}">
										<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
											noSelectionOption="true" />

									</h:selectOneMenu>
									<rich:message for="municipio_gt" showSummary="true"
										showDetail="false" styleClass="validationErrorMessage" />
								</h:panelGrid>

								<h:panelGrid>
									<h:outputLabel id="grupoTrabajo_lbl"
										value="#{msgExh['exhumaciones.diligencia.grupo_trabajo']}*:" />
									<h:selectOneMenu id="selectGrupoTrabajo"
										value="#{programacionSolicitud.grupoCriminalistica.grupoTrabajoId}"
										disabled="#{programacionSolicitud.estadoGrupo=='VER' or programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}"
										requiredMessage="Grupo de trabajo: #{msgVal['constraint.not_null']}"
										required="true">
										<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
											noSelectionOption="true" />
										<f:selectItems
											value="#{programacionSolicitud.selectItemsHelper.grupoTrabajo}" />
									</h:selectOneMenu>
									<rich:message for="selectGrupoTrabajo" showSummary="true"
										showDetail="false" styleClass="validationErrorMessage" />
								</h:panelGrid>

								<h:panelGrid>
									<h:outputLabel id="prog_dil_profesion_lbl"
										value="#{msgExh['exhumaciones.diligencia.exhumacion.equipo_criminalistica.profesion']}*:" />
									<h:selectOneMenu id="selectProfesion"
										value="#{programacionSolicitud.grupoCriminalistica.profesionId}"
										disabled="#{programacionSolicitud.estadoGrupo=='VER' or programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}"
										requiredMessage="Profesión: #{msgVal['constraint.not_null']}"
										required="true">
										<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
											noSelectionOption="true" />
										<f:selectItems
											value="#{programacionSolicitud.selectItemsHelper.profesionCriminalistica}" />
									</h:selectOneMenu>
									<rich:message for="selectProfesion" />
								</h:panelGrid>
							</h:panelGrid>
						</a4j:outputPanel>

						<br />

						<h:commandButton id="btn_agregar_gt"
							value="#{msgExh['exhumaciones.agregar']}"
							disabled="#{programacionSolicitud.estadoGrupo=='VER' or programacionSolicitud.estado == 'VER'}"
							action="#{programacionSolicitud.agregarGrupoCriminalistica()}">
							<f:ajax render="grupoCriminalisticaSV gruposCriminalisticaTable"
								execute="grupoCriminalisticaSV" />
						</h:commandButton>
						<h:commandButton id="btn_cancelar_gt"
							value="#{msgExh['exhumaciones.cancelar']}"
							action="#{programacionSolicitud.cancelarEditarGrupoCriminalistica()}"
							rendered="true"
							disabled="#{programacionSolicitud.estado == 'VER'}">
							<f:ajax render="grupoCriminalisticaSV gruposCriminalisticaTable btn_agregar_gt" immediate="true" />
						</h:commandButton>

						<br />



						<br />
						<rich:dataTable id="gruposCriminalisticaTable"
							value="#{programacionSolicitud.programacion.gruposCriminalistica}"
							var="record_" style="width:100%;" rowKeyVar="index"
							noDataLabel="${msg['general.registrosNoEncontrados']}">
							<rich:column>
								<f:facet name="header">
									<h:outputText
										value="#{msgExh['exhumaciones.diligencia.grupo_trabajo']}" />
								</f:facet>
								<h:outputText value="#{record_.nombreGrupo}"
									 />
							</rich:column>

							<rich:column>
								<f:facet name="header">
									<h:outputText
										value="#{msgExh['exhumaciones.diligencia.exhumacion.equipo_criminalistica.profesion']}" />
								</f:facet>
								<h:outputText value="#{record_.nombreProfesion}"
									 />
							</rich:column>

							<rich:column>
								<f:facet name="header">
									<h:outputText
										value="#{msgExh['exhumaciones.tabla_columna_accion']}" />
								</f:facet>
								<h:panelGrid columns="3"
									columnClasses="icon_space,icon_space,icon_space,icon_space,icon_space">



									<a4j:commandLink id="cmp_editar_gt" rendered="true"
										action="#{programacionSolicitud.editarGrupoCriminalistica(index)}"
										execute="@this" render=":grupoCriminalisticaSV gruposCriminalisticaTable"
										disabled="#{programacionSolicitud.estado == 'VER'}">
										<h:graphicImage value="/resources/images/icons/ico_pencil.png"
											title="${msg['boton.editar']}" 
											rendered="#{!(programacionSolicitud.estado == 'VER')}"/>
										<h:graphicImage
											value="/resources/images/icons/ico_pencil_gray.png"
											title="${msg['boton.editar']}"
											rendered="#{programacionSolicitud.estado == 'VER'}" />
										
									</a4j:commandLink>

									<a4j:commandLink id="cmp_ver_gt" execute="@this"
										action="#{programacionSolicitud.verGrupoCriminalistica(index)}"
										render="frm:grupoCriminalisticaSV gruposCriminalisticaTable btn_agregar_gt"
										disabled="#{programacionSolicitud.estado == 'VER'}">
										<h:graphicImage
											value="/resources/images/icons/ico_details.png"
											title="${msg['boton.consultar']}" 
											rendered="#{!(programacionSolicitud.estado == 'VER')}"/>
										<h:graphicImage
										value="/resources/images/icons/ico_details_gray.png"
										title="${msg['boton.consultar']}"
										rendered="#{programacionSolicitud.estado == 'VER'}" />
									</a4j:commandLink>

									<h:commandLink 
										id="cmp_eliminar_gt"
										title="${msg['boton.eliminar']}" 
										rendered="true"
										disabled="#{programacionSolicitud.disableEliminarDetalleProg or programacionSolicitud.estado == 'VER'}"
										action="#{programacionSolicitud.setIdBorrar(index)}"
										onclick="#{rich:component('confirmDelete')}.show()">
										<f:ajax execute="@this" />
										
										<h:graphicImage 
											value="/resources/images/icons/ico_delete.png"
											title="${msg['boton.eliminar']}"
											rendered="#{!(programacionSolicitud.estado == 'VER')}" />
											
										<h:graphicImage 
											value="/resources/images/icons/ico_delete_disabled.png"
											title="${msg['boton.eliminar']}" 
											rendered="#{programacionSolicitud.disableEliminarDetalleProg || (programacionSolicitud.estado == 'VER')}" />
										
									</h:commandLink>

								</h:panelGrid>
							</rich:column>
						</rich:dataTable>

						<sijyp:confirmDialog message="${msg['general.confirmaBorrar']}"
							confirmId="confirmDelete"
							renderComponents="grupoCriminalisticaSV gruposCriminalisticaTable"
							acceptAction="#{programacionSolicitud.eliminarGrupoCriminalistica}" />

					</rich:panel>

					<rich:panel id="noPanel"
						rendered="#{programacionSolicitud.programacion.apta eq 'N'}">
						<a4j:outputPanel id="pn_formno" layout="block">
							<a4j:region id="rg_formno">
								<h:panelGrid columns="1" width="100%"
									columnClasses="firstColumnStyle">

									<h:outputLabel id="motivo_noapta_lbl" value="Motivo:*" />
									<h:selectOneMenu id="selectMotivo" required="true"
										requiredMessage="#{msgVal['constraint.not_null']}"
										value="#{programacionSolicitud.programacion.motivo}"
										disabled="#{programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}">
										<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
											noSelectionOption="true" />
										<f:selectItems
											value="#{programacionSolicitud.selectItemsHelper.motivos}" />
									</h:selectOneMenu>
									<rich:message for="selectMotivo" />


									<h:outputLabel id="observaciones_noapta_lbl"
										value="Observaciones:" />
									<h:inputTextarea id="observaciones_txtArea"
										value="#{programacionSolicitud.programacion.observacion}"
										disabled="#{programacionSolicitud.disabledAll or programacionSolicitud.estado == 'VER'}"
										cols="800" rows="5" styleClass="long longPersona"
										a:maxlength="250">
									</h:inputTextarea>
									<rich:message for="observaciones_txtArea" />
								</h:panelGrid>
							</a4j:region>
						</a4j:outputPanel>

					</rich:panel>

					<h:commandButton id="btn_programar_diligencia" value="#{msgExh['exhumaciones.guardar']}"
						action="#{programacionSolicitud.programarDiligencia()}"
						rendered="#{not programacionSolicitud.disabledAll}"
						disabled="#{programacionSolicitud.estado == 'VER'}">
						<f:ajax render="@form" execute="rg_formsi rg_formno" />
					</h:commandButton>
					
					<h:commandButton id="btn_cancelar_programar_diligencia"
				value="#{programacionSolicitud.programacion.idProgramacionApta == null ?  msgExh['exhumaciones.cancelar'] : msgExh['exhumaciones.volver']}" action="#{programacionSolicitud.cancelar()}"
				immediate="true" />

				</rich:panel>
			</a4j:outputPanel>
			
		</h:form>
	</ui:define>
</ui:composition>
